home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Complementary Applications 2004 February / SGI IRIX 6.5 Complementary Applications 2004 February.iso / dist / cde.idb / usr / dt / share / include / csa / csa.h.z / csa.h
Encoding:
C/C++ Source or Header  |  2003-11-18  |  36.9 KB  |  1,152 lines

  1. /*
  2.  * csa.h
  3.  *
  4.  * Copyright 2000, Silicon Graphics, Inc.
  5.  * ALL RIGHTS RESERVED
  6.  * 
  7.  * UNPUBLISHED -- Rights reserved under the copyright laws of the United
  8.  * States.   Use of a copyright notice is precautionary only and does not
  9.  * imply publication or disclosure.
  10.  *
  11.  * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
  12.  * Use, duplication or disclosure by the Government is subject to restrictions
  13.  * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
  14.  * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
  15.  * in similar or successor clauses in the FAR, or the DOD or NASA FAR
  16.  * Supplement.  Contractor/manufacturer is Silicon Graphics, Inc.,
  17.  * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
  18.  *
  19.  * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
  20.  * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
  21.  * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
  22.  * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
  23.  * GRAPHICS, INC.
  24.  */
  25. /* $XConsortium: csa.h /main/cde1_maint/5 1995/10/31 09:50:50 lehors $ */
  26. /*
  27.  *  (c) Copyright 1993, 1994 Hewlett-Packard Company
  28.  *  (c) Copyright 1993, 1994 International Business Machines Corp.
  29.  *  (c) Copyright 1993, 1994 Novell, Inc.
  30.  *  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
  31.  */
  32.  
  33. #ifndef _CSA_H
  34. #define _CSA_H
  35.  
  36. #pragma ident "@(#)csa.h    1.17 95/05/15 Sun Microsystems, Inc."
  37.  
  38. /* BEGIN CSA INTERFACE */
  39.  
  40. /* BASIC DATA TYPES */
  41.  
  42. #ifndef DIFFERENT_PLATFORM
  43. typedef short        CSA_sint16;
  44. typedef long        CSA_sint32;
  45. typedef unsigned char    CSA_uint8;
  46. typedef unsigned short    CSA_uint16;
  47. typedef unsigned long    CSA_uint32;
  48. typedef void        *CSA_buffer;
  49. typedef CSA_uint32    CSA_entry_handle;
  50. typedef CSA_uint32    CSA_session_handle;
  51. typedef char        *CSA_string;
  52. #endif
  53.  
  54. typedef CSA_string    CSA_attribute_reference;
  55. typedef CSA_uint32    CSA_boolean;
  56. typedef CSA_string    CSA_date_time;
  57. typedef CSA_string    CSA_date_time_range;
  58. typedef CSA_sint32    CSA_enum;
  59. typedef CSA_uint32    CSA_flags;
  60. typedef CSA_uint32    CSA_return_code;
  61. typedef CSA_string    CSA_service_reference;
  62. typedef CSA_string    CSA_time_duration;
  63.  
  64. #define CSA_FALSE    ((CSA_boolean)0)
  65. #define CSA_TRUE    ((CSA_boolean)1)
  66.  
  67. /* DATA STRUCTURES */
  68.  
  69. /* EXTENSION */
  70. typedef struct CSA_TAG_EXTENSION {
  71.     CSA_uint32    item_code;
  72.     CSA_uint32    item_data;
  73.     CSA_buffer    item_reference;
  74.     CSA_flags    extension_flags;
  75. } CSA_extension;
  76.  
  77. /* EXTENSION FLAGS */
  78. #define    CSA_EXT_REQUIRED    ((CSA_flags)0x1)
  79. #define    CSA_EXT_OUTPUT        ((CSA_flags)0x2)
  80. #define    CSA_EXT_LAST_ELEMENT    ((CSA_flags)0x4)
  81.  
  82. /* CALENDAR USER */
  83. typedef struct CSA_TAG_CALENDAR_USER{
  84.     CSA_string    user_name;
  85.     CSA_enum    user_type;
  86.     CSA_string    calendar_address;
  87.     CSA_extension    *calendar_user_extensions;
  88. } CSA_calendar_user;
  89.  
  90. /* CALENDAR USER TYPE */
  91. #define    CSA_USER_TYPE_INDIVIDUAL    ((CSA_enum)0)
  92. #define    CSA_USER_TYPE_GROUP        ((CSA_enum)1)
  93. #define    CSA_USER_TYPE_RESOURCE        ((CSA_enum)2)
  94.  
  95. /* ACCESS LIST */
  96. typedef struct CSA_TAG_ACESS_RIGHTS {
  97.     CSA_calendar_user        *user;
  98.     CSA_flags            rights;
  99.     struct CSA_TAG_ACESS_RIGHTS    *next;
  100. } CSA_access_rights, *CSA_access_list;
  101.  
  102. /* ACCESS RIGHT FLAGS */
  103. #define    CSA_FREE_TIME_SEARCH        ((CSA_flags)0x1)
  104. #define    CSA_VIEW_PUBLIC_ENTRIES        ((CSA_flags)0x2)
  105. #define    CSA_VIEW_CONFIDENTIAL_ENTRIES    ((CSA_flags)0x4)
  106. #define    CSA_VIEW_PRIVATE_ENTRIES    ((CSA_flags)0x8)
  107. #define    CSA_INSERT_PUBLIC_ENTRIES    ((CSA_flags)0x10)
  108. #define    CSA_INSERT_CONFIDENTIAL_ENTRIES    ((CSA_flags)0x20)
  109. #define    CSA_INSERT_PRIVATE_ENTRIES    ((CSA_flags)0x40)
  110. #define    CSA_CHANGE_PUBLIC_ENTRIES    ((CSA_flags)0x80)
  111. #define    CSA_CHANGE_CONFIDENTIAL_ENTRIES    ((CSA_flags)0x100)
  112. #define    CSA_CHANGE_PRIVATE_ENTRIES    ((CSA_flags)0x200)
  113. #define    CSA_VIEW_CALENDAR_ATTRIBUTES    ((CSA_flags)0x400)
  114. #define    CSA_INSERT_CALENDAR_ATTRIBUTES    ((CSA_flags)0x800)
  115. #define    CSA_CHANGE_CALENDAR_ATTRIBUTES    ((CSA_flags)0x1000)
  116. #define    CSA_ORGANIZER_RIGHTS        ((CSA_flags)0x2000)
  117. #define    CSA_SPONSOR_RIGHTS        ((CSA_flags)0x4000)
  118. #define    CSA_OWNER_RIGHTS        ((CSA_flags)0x8000)
  119.  
  120. /* access right flags for data version 1, 2, and 3 */
  121. #define CSA_X_DT_BROWSE_ACCESS    ((CSA_flags)0x1)
  122. #define CSA_X_DT_INSERT_ACCESS    ((CSA_flags)0x2)
  123. #define CSA_X_DT_DELETE_ACCESS    ((CSA_flags)0x4)
  124.  
  125. /* ATTENDEE LIST */
  126. typedef struct CSA_TAG_ATTENDEE {
  127.     CSA_calendar_user    attendee;
  128.     CSA_enum        priority;
  129.     CSA_enum        status;
  130.     CSA_boolean        rsvp_requested;
  131.     struct CSA_TAG_ATTENDEE    *next;
  132. } CSA_attendee, *CSA_attendee_list;
  133.  
  134. /* ATTENDEE PRIORITIES */
  135. #define    CSA_FOR_YOUR_INFORMATION    ((CSA_enum)0)
  136. #define    CSA_ATTENDANCE_REQUESTED    ((CSA_enum)1)
  137. #define    CSA_ATTENDANCE_REQUIRED        ((CSA_enum)2)
  138. #define    CSA_IMMEDIATE_RESPONSE        ((CSA_enum)3)
  139.  
  140. /* DATE AND TIME LIST */
  141. typedef struct CSA_TAG_DATE_TIME_ITEM {
  142.     CSA_date_time            date_time;
  143.     struct CSA_TAG_DATE_TIME_ITEM    *next;
  144. } CSA_date_time_entry, *CSA_date_time_list;
  145.  
  146. /* OPAQUE DATA */
  147. typedef struct CSA_TAG_OPAQUE_DATA {
  148.     CSA_uint32    size;
  149.     CSA_uint8    *data;
  150. } CSA_opaque_data;
  151.  
  152. /* REMINDER */
  153. typedef struct CSA_TAG_REMINDER {
  154.     CSA_time_duration    lead_time;
  155.     CSA_time_duration    snooze_time;
  156.     CSA_uint32        repeat_count;
  157.     CSA_opaque_data        reminder_data;
  158. } CSA_reminder;
  159.  
  160. /* ATTRIBUTE */
  161. typedef struct CSA_TAG_ATTRIBUTE_ITEM {
  162.     CSA_enum            type;
  163.     union {
  164.         CSA_boolean        boolean_value;
  165.         CSA_enum        enumerated_value;
  166.         CSA_flags        flags_value;
  167.         CSA_sint32        sint32_value;
  168.         CSA_uint32        uint32_value;
  169.         CSA_string        string_value;
  170.         CSA_calendar_user    *calendar_user_value;
  171.         CSA_date_time        date_time_value;
  172.         CSA_date_time_range    date_time_range_value;
  173.         CSA_time_duration    time_duration_value;
  174.         CSA_access_list        access_list_value;
  175.         CSA_attendee_list    attendee_list_value;
  176.         CSA_date_time_list    date_time_list_value;
  177.         CSA_reminder        *reminder_value;
  178.         CSA_opaque_data        *opaque_data_value;
  179.     } item;
  180. } CSA_attribute_value;
  181.  
  182. typedef struct CSA_TAG_ATTRIBUTE {
  183.     CSA_string        name;
  184.     CSA_attribute_value    *value;
  185.     CSA_extension        *attribute_extensions;
  186. } CSA_attribute;
  187.  
  188. /* ATTRIBUTE VALUE TYPE */
  189. #define CSA_VALUE_BOOLEAN        ((CSA_enum)0)
  190. #define CSA_VALUE_ENUMERATED        ((CSA_enum)1)
  191. #define CSA_VALUE_FLAGS            ((CSA_enum)2)
  192. #define CSA_VALUE_SINT32        ((CSA_enum)3)
  193. #define    CSA_VALUE_UINT32        ((CSA_enum)4)
  194. #define    CSA_VALUE_STRING        ((CSA_enum)5)
  195. #define CSA_VALUE_CALENDAR_USER        ((CSA_enum)6)
  196. #define    CSA_VALUE_DATE_TIME        ((CSA_enum)7)
  197. #define    CSA_VALUE_DATE_TIME_RANGE    ((CSA_enum)8)
  198. #define CSA_VALUE_TIME_DURATION        ((CSA_enum)9)
  199. #define    CSA_VALUE_ACCESS_LIST        ((CSA_enum)10)
  200. #define    CSA_VALUE_ATTENDEE_LIST        ((CSA_enum)11)
  201. #define    CSA_VALUE_DATE_TIME_LIST    ((CSA_enum)12)
  202. #define    CSA_VALUE_REMINDER        ((CSA_enum)13)
  203. #define    CSA_VALUE_OPAQUE_DATA        ((CSA_enum)14)
  204.  
  205. /* CALLBACK */
  206.  
  207. /* REASON FOR CALLBACK */
  208. #define    CSA_CB_CALENDAR_LOGON            ((CSA_flags)0x1)
  209. #define    CSA_CB_CALENDAR_DELETED            ((CSA_flags)0x2)
  210. #define    CSA_CB_CALENDAR_ATTRIBUTE_UPDATED    ((CSA_flags)0x4)
  211. #define    CSA_CB_ENTRY_ADDED            ((CSA_flags)0x8)
  212. #define    CSA_CB_ENTRY_DELETED            ((CSA_flags)0x10)
  213. #define    CSA_CB_ENTRY_UPDATED            ((CSA_flags)0x20)
  214.  
  215. /* CALL DATA FOR CSA_CB_CALENDAR_LOGON */
  216. typedef struct CSA_TAG_LOGON_CB_DATA {
  217.     CSA_calendar_user    *user;
  218. } CSA_logon_callback_data;
  219.  
  220. /* CALL DATA FOR CSA_CB_CALENDAR_DELETED */
  221. typedef struct CSA_TAG_CALENDAR_DELETED_CB_DATA {
  222.     CSA_calendar_user    *user;
  223. } CSA_calendar_deleted_callback_data;
  224.  
  225. /* CALL DATA FOR CSA_CB_CALENDAR_ATTRIBUTE_UPDATED */
  226. typedef struct CSA_TAG_CALENDAR_ATTR_UPDATE_CB_DATA {
  227.     CSA_calendar_user    *user;
  228.     CSA_uint32        number_attributes;
  229.     CSA_attribute_reference *attribute_names;
  230. } CSA_calendar_attr_update_callback_data;
  231.  
  232. /* CALL DATA FOR CSA_CB_ENTRY_ADDED */
  233. typedef struct CSA_TAG_ADD_ENTRY_CB_DATA {
  234.     CSA_calendar_user    *user;
  235.     CSA_opaque_data        added_entry_id;
  236. } CSA_add_entry_callback_data;
  237.  
  238. /* CALL DATA FOR CSA_CB_ENTRY_DELETED */
  239. typedef struct CSA_TAG_DELETE_ENTRY_CB_DATA {
  240.     CSA_calendar_user    *user;
  241.     CSA_opaque_data        deleted_entry_id;
  242.     CSA_enum        scope;
  243.     CSA_date_time        date_and_time;
  244. } CSA_delete_entry_callback_data;
  245.  
  246. /* CALL DATA FOR CSA_CB_ENTRY_UPDATED */
  247. typedef struct CSA_TAG_UPDATE_ENTRY_CB_DATA {
  248.     CSA_calendar_user    *user;        /* who updated entry? */
  249.     CSA_opaque_data        old_entry_id;    /* id of updated entry */
  250.     CSA_opaque_data        new_entry_id;    /* new id after update */
  251.     CSA_enum        scope;        /* scope of the update op */
  252.     CSA_date_time        date_and_time;    /* time of first updated */
  253. } CSA_update_entry_callback_data;
  254.  
  255. /* CALLBACK FUNCTION PROTOTYPE */
  256. typedef void (*CSA_callback)(
  257.     CSA_session_handle    session,
  258.     CSA_flags        reason,
  259.     CSA_buffer        call_data,
  260.     CSA_buffer        client_data,
  261.     CSA_extension        *callback_extensions);
  262.  
  263. /* FREE TIME */
  264. typedef struct CSA_TAG_FREE_TIME {
  265.     CSA_uint32        number_free_time_data;
  266.     CSA_date_time_range    *free_time_data;
  267. } CSA_free_time;
  268.  
  269. /* REMINDER REFERENCE */
  270. typedef struct CSA_TAG_REMINDER_REFERENCE {
  271.     CSA_entry_handle    entry;
  272.     CSA_date_time        run_time;
  273.     CSA_time_duration    snooze_time;
  274.     CSA_uint32        repeat_count;
  275.     CSA_attribute_reference    attribute_name;
  276. } CSA_reminder_reference;
  277.  
  278. /* WORK SCHEDULE */
  279. typedef struct CSA_TAG_WORK_SCHEDULE {
  280.     CSA_date_time        schedule_begin_time;
  281.     CSA_boolean        cyclic_definition_flag;
  282.     CSA_date_time        cycle_end_time;
  283.     CSA_date_time_list    *work_cycle;
  284. } CSA_work_schedule;
  285.  
  286. /* CSA FUNCTIONS */
  287.  
  288. /* CROSS FUNCTION FLAGS */
  289.  
  290. /* CLASSIFICATION */
  291. #define CSA_CLASS_PUBLIC    ((CSA_enum)0)
  292. #define CSA_CLASS_PRIVATE    ((CSA_enum)1)
  293. #define CSA_CLASS_CONFIDENTIAL    ((CSA_enum)2)
  294.  
  295. /* STATUS */
  296. #define    CSA_STATUS_ACCEPTED        ((CSA_enum)0)
  297. #define    CSA_STATUS_NEEDS_ACTION        ((CSA_enum)1)
  298. #define    CSA_STATUS_SENT            ((CSA_enum)2)
  299. #define    CSA_STATUS_TENTATIVE        ((CSA_enum)3)
  300. #define    CSA_STATUS_CONFIRMED        ((CSA_enum)4)
  301. #define    CSA_STATUS_REJECTED        ((CSA_enum)5)
  302. #define    CSA_STATUS_COMPLETED        ((CSA_enum)6)
  303. #define    CSA_STATUS_DELEGATED        ((CSA_enum)7)
  304.  
  305. /* CDE specific status values */
  306. #define    CSA_X_DT_STATUS_ACTIVE        ((CSA_enum)0x900)
  307. #define    CSA_X_DT_STATUS_DELETE_PENDING    ((CSA_enum)0x901)
  308. #define    CSA_X_DT_STATUS_ADD_PENDING    ((CSA_enum)0x902)
  309. #define    CSA_X_DT_STATUS_COMMITTED    ((CSA_enum)0x903)
  310. #define    CSA_X_DT_STATUS_CANCELLED    ((CSA_enum)0x904)
  311.  
  312. /* SCOPE */
  313. #define    CSA_SCOPE_ALL        ((CSA_enum)0)
  314. #define    CSA_SCOPE_ONE        ((CSA_enum)1)
  315. #define    CSA_SCOPE_FORWARD    ((CSA_enum)2)
  316.  
  317. /* OPERATORS */
  318. #define    CSA_MATCH_ANY                ((CSA_enum)0)
  319. #define    CSA_MATCH_EQUAL_TO            ((CSA_enum)1)
  320. #define    CSA_MATCH_NOT_EQUAL_TO            ((CSA_enum)2)
  321. #define    CSA_MATCH_GREATER_THAN            ((CSA_enum)3)
  322. #define    CSA_MATCH_LESS_THAN            ((CSA_enum)4)
  323. #define    CSA_MATCH_GREATER_THAN_OR_EQUAL_TO    ((CSA_enum)5)
  324. #define    CSA_MATCH_LESS_THAN_OR_EQUAL_TO        ((CSA_enum)6)
  325. #define    CSA_MATCH_CONTAIN            ((CSA_enum)7)
  326.  
  327. /* FREE */
  328. CSA_return_code
  329. csa_free(
  330.     CSA_buffer    memory
  331. );
  332.  
  333. /* LIST CALENDARS */
  334. CSA_return_code
  335. csa_list_calendars(
  336.     CSA_service_reference    calendar_service,
  337.     CSA_uint32        *number_names,
  338.     CSA_calendar_user    **calendar_names,
  339.     CSA_extension        *list_calendars_extensions
  340. );
  341.  
  342. /* LOGOFF */
  343. CSA_return_code
  344. csa_logoff(
  345.     CSA_session_handle    session,
  346.     CSA_extension        *logoff_extensions
  347. );
  348.  
  349. /* LOGON */
  350. CSA_return_code
  351. csa_logon(
  352.     CSA_service_reference    calendar_service,
  353.     CSA_calendar_user    *user,
  354.     CSA_string        password,
  355.     CSA_string        character_set,
  356.     CSA_string        required_csa_version,
  357.     CSA_session_handle    *session,
  358.     CSA_extension        *logon_extensions
  359. );
  360.  
  361. /* LOOK UP */ /* NOT IMPLEMENTED IN THIS RELEASE */
  362. CSA_return_code
  363. csa_look_up(
  364.     CSA_session_handle    session,
  365.     CSA_calendar_user    *users,
  366.     CSA_flags        look_up_flags,
  367.     CSA_uint32        *number_users,
  368.     CSA_calendar_user    **user_list,
  369.     CSA_extension        *look_up_extensions
  370. );
  371.  
  372. #define    CSA_LOOKUP_RESOLVE_PREFIX_SEARCH    ((CSA_flags)0x1)
  373. #define    CSA_LOOKUP_RESOLVE_IDENTITY        ((CSA_flags)0x2)
  374.  
  375. /* QUERY CONFIGURATION */
  376. CSA_return_code
  377. csa_query_configuration(
  378.     CSA_session_handle    session,
  379.     CSA_enum        item,
  380.     CSA_buffer        *reference,
  381.     CSA_extension        *query_configuration_extensions
  382. );
  383.  
  384. #define CSA_CONFIG_CHARACTER_SET    ((CSA_enum)0)
  385. #define CSA_CONFIG_LINE_TERM        ((CSA_enum)1)
  386. #define CSA_CONFIG_DEFAULT_SERVICE    ((CSA_enum)2)
  387. #define CSA_CONFIG_DEFAULT_USER        ((CSA_enum)3)
  388. #define    CSA_CONFIG_REQ_PASSWORD        ((CSA_enum)4)
  389. #define    CSA_CONFIG_REQ_SERVICE        ((CSA_enum)5)
  390. #define    CSA_CONFIG_REQ_USER        ((CSA_enum)6)
  391. #define    CSA_CONFIG_UI_AVAIL        ((CSA_enum)7)
  392. #define    CSA_CONFIG_VER_IMPLEM        ((CSA_enum)8)
  393. #define    CSA_CONFIG_VER_SPEC        ((CSA_enum)9)
  394.  
  395. #define    CSA_LINE_TERM_CRLF        ((CSA_enum)0)
  396. #define    CSA_LINE_TERM_LF        ((CSA_enum)1)
  397. #define    CSA_LINE_TERM_CR        ((CSA_enum)2)
  398.  
  399. #define    CSA_REQUIRED_NO            ((CSA_enum)0)
  400. #define    CSA_REQUIRED_OPT        ((CSA_enum)1)
  401. #define    CSA_REQUIRED_YES        ((CSA_enum)2)
  402.  
  403. /* CHARACTER SE IDENTIFIERS */
  404. #define    CSA_CHARSET_437        "-//XAPIA//CHARSET IBM 437//EN"
  405. #define    CSA_CHARSET_850        "-//XAPIA//CHARSET IBM 850//EN"
  406. #define    CSA_CHARSET_1252    "-//XAPIA//CHARSET Microsoft 1252//EN"
  407. #define    CSA_CHARSET_ISTRING    "-//XAPIA//CHARSET Apple ISTRING//EN"
  408. #define    CSA_CHARSET_UNICODE    "-//XAPIA//CHARSET UNICODE//EN"
  409. #define    CSA_CHARSET_T61        "-//XAPIA//CHARSET TSS T61//EN"
  410. #define    CSA_CHARSET_IA5        "-//XAPIA//CHARSET TSS IA5//EN"
  411. #define    CSA_CHARSET_ISO_10646    "-//XAPIA//CHARSET ISO 10646//EN"
  412. #define    CSA_CHARSET_ISO_646    "-//XAPIA//CHARSET ISO 646//EN"
  413. #define    CSA_CHARSET_iso_8859_1    "-//XAPIA//CHARSET ISO 8859-1//EN"
  414.  
  415. /* RESTORE */ /* NOT IMPLEMENTED IN THIS RELEASE */
  416. CSA_return_code
  417. csa_restore(
  418.     CSA_session_handle    session,
  419.     CSA_string        archive_name,
  420.     CSA_uint32        number_attributes,
  421.     CSA_attribute        *attributes,
  422.     CSA_enum        *operators,
  423.     CSA_extension        *restore_extensions
  424. );
  425.  
  426. /* SAVE */ /* NOT IMPLEMENTED IN THIS RELEASE */
  427. CSA_return_code
  428. csa_save(
  429.     CSA_session_handle    session,
  430.     CSA_string        archive_name,
  431.     CSA_uint32        number_attributes,
  432.     CSA_attribute        *attributes,
  433.     CSA_enum        *operators,
  434.     CSA_boolean        delete_entry,
  435.     CSA_extension        *save_extensions
  436. );
  437.  
  438. /* ADD CALENDAR */
  439. CSA_return_code
  440. csa_add_calendar(
  441.     CSA_session_handle    session,
  442.     CSA_calendar_user    *user,
  443.     CSA_uint32        number_attributes,
  444.     CSA_attribute        *calendar_attributes,
  445.     CSA_extension        *add_calendar_extensions
  446. );
  447.  
  448. /* DELETE CALENDAR */
  449. CSA_return_code
  450. csa_delete_calendar(
  451.     CSA_session_handle    session,
  452.     CSA_extension        *delete_calendar_extensions
  453. );
  454.  
  455. /* LIST CALENDAR ATTRIBUTES */
  456. CSA_return_code
  457. csa_list_calendar_attributes(
  458.     CSA_session_handle    session,
  459.     CSA_uint32        *number_names,
  460.     CSA_attribute_reference    **calendar_attributes_names,
  461.     CSA_extension        *list_calendar_attributes_extensions
  462. );
  463.  
  464. /* READ CALENDAR ATTRIBUTES */
  465. CSA_return_code
  466. csa_read_calendar_attributes(
  467.     CSA_session_handle    session,
  468.     CSA_uint32        number_names,
  469.     CSA_attribute_reference    *attribte_names,
  470.     CSA_uint32        *number_attributes,
  471.     CSA_attribute        **calendar_attributes,
  472.     CSA_extension        *read_calendar_attributes_extensions
  473. );
  474.  
  475. /* REGISTER CALLBACK FUNCTION */
  476. CSA_return_code
  477. csa_register_callback(
  478.     CSA_session_handle    session,
  479.     CSA_flags        reason,
  480.     CSA_callback        callback,
  481.     CSA_buffer        client_data,
  482.     CSA_extension        *register_callback_extensions
  483. );
  484.  
  485. /* UNREGISTER CALLBACK FUNCTION */
  486. CSA_return_code
  487. csa_unregister_callback(
  488.     CSA_session_handle    session,
  489.     CSA_flags        reason,
  490.     CSA_callback        callback,
  491.     CSA_buffer        client_data,
  492.     CSA_extension        *unregister_callback_extensions
  493. );
  494.  
  495. /* CALL CALLBACK FUNCTION */
  496. CSA_return_code
  497. csa_call_callbacks(
  498.     CSA_session_handle    session,
  499.     CSA_flags        reason,
  500.     CSA_extension        *call_callbacks_extensions
  501. );
  502.  
  503. /* UDPATE CALENDAR ATTRIBUTES */
  504. CSA_return_code
  505. csa_update_calendar_attributes(
  506.     CSA_session_handle    session,
  507.     CSA_uint32        number_attributes,
  508.     CSA_attribute        *calendar_attributes,
  509.     CSA_extension        *update_calendar_attributes_extensions
  510. );
  511.  
  512. /* Add ENTRY */
  513. CSA_return_code
  514. csa_add_entry(
  515.     CSA_session_handle    session,
  516.     CSA_uint32        number_attributes,
  517.     CSA_attribute        *entry_attributes,
  518.     CSA_entry_handle    *entry,
  519.     CSA_extension        *add_entry_extensions
  520. );
  521.  
  522. /* DELETE ENTRY */
  523. CSA_return_code
  524. csa_delete_entry(
  525.     CSA_session_handle    session,
  526.     CSA_entry_handle    entry,
  527.     CSA_enum        delete_scope,
  528.     CSA_extension        *delete_entry_extensions
  529. );
  530.  
  531. /* FREE TIME SEARCH */ /* NOT IMPLEMENTED IN THIS RELEASE */
  532. CSA_return_code
  533. csa_free_time_search(
  534.     CSA_session_handle    session,
  535.     CSA_date_time_range    date_time_range,
  536.     CSA_time_duration    time_duration,
  537.     CSA_uint32        number_users,
  538.     CSA_calendar_user    *calendar_users,
  539.     CSA_free_time        **free_time,
  540.     CSA_extension        *free_time_search_extensions
  541. );
  542.  
  543. /* LIST ENTRIES */
  544. CSA_return_code
  545. csa_list_entries(
  546.     CSA_session_handle    session,
  547.     CSA_uint32        number_attributes,
  548.     CSA_attribute        *entry_attributes,
  549.     CSA_enum        *list_operators,
  550.     CSA_uint32        *number_entries,
  551.     CSA_entry_handle    **entries,
  552.     CSA_extension        *list_entries_extensions
  553. );
  554.  
  555. /* LIST ENTRY ATTRIBUTES */
  556. CSA_return_code
  557. csa_list_entry_attributes(
  558.     CSA_session_handle    session,
  559.     CSA_entry_handle    entry,
  560.     CSA_uint32        *number_names,
  561.     CSA_attribute_reference    **entry_attribute_names,
  562.     CSA_extension        *list_entry_attributes_extensions
  563. );
  564.  
  565. /* LIST ENTRY SEQUENCE */
  566. CSA_return_code
  567. csa_list_entry_sequence(
  568.     CSA_session_handle    session,
  569.     CSA_entry_handle    entry,
  570.     CSA_date_time_range    time_range,
  571.     CSA_uint32        *number_entries,
  572.     CSA_entry_handle    **entry_list,
  573.     CSA_extension        *list_entry_sequence_extensions
  574. );
  575.  
  576. /* READ ENTRY ATTRIBUTES */
  577. CSA_return_code
  578. csa_read_entry_attributes(
  579.     CSA_session_handle    session,
  580.     CSA_entry_handle    entry,
  581.     CSA_uint32        number_names,
  582.     CSA_attribute_reference    *attribute_names,
  583.     CSA_uint32        *number_attributes,
  584.     CSA_attribute        **entry_attributes,
  585.     CSA_extension        *read_entry_attributes_extensions
  586. );
  587.  
  588. /* READ NEXT REMINDERS */
  589. CSA_return_code
  590. csa_read_next_reminder(
  591.     CSA_session_handle    session,
  592.     CSA_uint32        number_names,
  593.     CSA_attribute_reference    *reminder_names,
  594.     CSA_date_time        given_time,
  595.     CSA_uint32        *number_reminders,
  596.     CSA_reminder_reference    **reminder_references,
  597.     CSA_extension        *read_next_reminder_extensions
  598. );
  599.  
  600. /* UPDATE ENTRY ATTRIBUTES */
  601. CSA_return_code
  602. csa_update_entry_attributes(
  603.     CSA_session_handle    session,
  604.     CSA_entry_handle    entry,
  605.     CSA_enum        update_scope,
  606.     CSA_boolean        update_propagation,
  607.     CSA_uint32        number_attributes,
  608.     CSA_attribute        *entry_attributes,
  609.     CSA_entry_handle    *new_entry,
  610.     CSA_extension        *update_entry_attributes_extensions
  611. );
  612.  
  613. /* STRING BASED FUNCTIONS */
  614.  
  615. /* ADD EVENT */ /* NOT IMPLEMENTED IN THIS RELEASE */
  616. CSA_return_code
  617. csa_add_event(
  618.     CSA_service_reference    calendar_service,
  619.     CSA_string        calendar_address,
  620.     CSA_string        logon_user,
  621.     CSA_string        logon_password,
  622.     CSA_string        attendee,
  623.     CSA_enum        attendee_priority,
  624.     CSA_enum        attendee_status,
  625.     CSA_boolean        attendee_rsvp_requested,
  626.     CSA_date_time        start_date,
  627.     CSA_date_time        end_date,
  628.     CSA_string        organizer,
  629.     CSA_string        sponsor,
  630.     CSA_string        summary,
  631.     CSA_string        description,
  632.     CSA_string        recurrence_rule,
  633.     CSA_string        exception_rule,
  634.     CSA_string        subtype,
  635.     CSA_enum        classification,
  636.     CSA_string        delimiters,
  637.     CSA_string        add_event_extensions
  638. );
  639.  
  640. /* ADD TODO */ /* NOT IMPLEMENTED IN THIS RELEASE */
  641. CSA_return_code
  642. csa_add_todo(
  643.     CSA_service_reference    calendar_service,
  644.     CSA_string        calendar_address,
  645.     CSA_string        logon_user,
  646.     CSA_string        logon_password,
  647.     CSA_enum        attendee_priority,
  648.     CSA_enum        attendee_status,
  649.     CSA_boolean        attendee_rsvp_requested,
  650.     CSA_date_time        start_date,
  651.     CSA_date_time        due_date,
  652.     CSA_uint32        priority,
  653.     CSA_string        summary,
  654.     CSA_string        description,
  655.     CSA_enum        classification,
  656.     CSA_string        delimiters,
  657.     CSA_string        add_todo_extensions
  658. );
  659.  
  660. /* ADD MEMO */ /* NOT IMPLEMENTED IN THIS RELEASE */
  661. CSA_return_code
  662. csa_add_memo(
  663.     CSA_service_reference    calendar_service,
  664.     CSA_string        calendar_address,
  665.     CSA_string        logon_user,
  666.     CSA_string        logon_password,
  667.     CSA_date_time        start_date,
  668.     CSA_string        summary,
  669.     CSA_string        delimiters,
  670.     CSA_string        add_memo_extensions
  671. );
  672.  
  673. /* RETURN ERROR FLAGS */
  674. #define    CSA_ERROR_RSV_MASK    ((CSA_return_code)0x0000FFFF)
  675. #define    CSA_ERROR_IMPL_MASK    ((CSA_return_code)0xFFFF0000)
  676.  
  677. /* macro to get XAPIA CSA return code */
  678. #define CSA_X_DT_CSA_RETURN_CODE(c) \
  679.      ((CSA_return_code)((c) & CSA_ERROR_RSV_MASK))
  680.  
  681. /* RETURN CODES */
  682. #define    CSA_SUCCESS                ((CSA_return_code)0)
  683.  
  684. #define    CSA_E_AMBIGUOUS_USER            ((CSA_return_code)1)
  685. #define CSA_E_CALENDAR_EXISTS             ((CSA_return_code)2)
  686. #define CSA_E_CALENDAR_NOT_EXIST        ((CSA_return_code)3)
  687. #define CSA_E_CALLBACK_NOT_REGISTERED        ((CSA_return_code)4)
  688. #define    CSA_E_DISK_FULL                ((CSA_return_code)5)
  689. #define    CSA_E_FAILURE                ((CSA_return_code)6)
  690. #define    CSA_E_FILE_EXIST            ((CSA_return_code)7)
  691. #define    CSA_E_FILE_NOT_EXIST            ((CSA_return_code)8)
  692. #define    CSA_E_INSUFFICIENT_MEMORY        ((CSA_return_code)9)
  693. #define    CSA_E_INVALID_ATTRIBUTE            ((CSA_return_code)10)
  694. #define    CSA_E_INVALID_ATTRIBUTE_VALUE        ((CSA_return_code)11)
  695. #define    CSA_E_INVALID_CALENDAR_SERVICE        ((CSA_return_code)12)
  696. #define    CSA_E_INVALID_CONFIGURATION        ((CSA_return_code)13)
  697. #define    CSA_E_INVALID_DATA_EXT            ((CSA_return_code)14)
  698. #define    CSA_E_INVALID_DATE_TIME            ((CSA_return_code)15)
  699. #define    CSA_E_INVALID_ENTRY_HANDLE        ((CSA_return_code)16)
  700. #define    CSA_E_INVALID_ENUM            ((CSA_return_code)17)
  701. #define    CSA_E_INVALID_FILE_NAME            ((CSA_return_code)18)
  702. #define    CSA_E_INVALID_FLAG            ((CSA_return_code)19)
  703. #define    CSA_E_INVALID_FUNCTION_EXT        ((CSA_return_code)20)
  704. #define    CSA_E_INVALID_MEMORY            ((CSA_return_code)21)
  705. #define    CSA_E_INVALID_PARAMETER            ((CSA_return_code)22)
  706. #define    CSA_E_INVALID_PASSWORD            ((CSA_return_code)23)
  707. #define    CSA_E_INVALID_RULE            ((CSA_return_code)24)
  708. #define    CSA_E_INVALID_SESSION_HANDLE        ((CSA_return_code)25)
  709. #define    CSA_E_INVALID_USER            ((CSA_return_code)26)
  710. #define    CSA_E_NO_AUTHORITY            ((CSA_return_code)27)
  711. #define    CSA_E_NOT_SUPPORTED            ((CSA_return_code)28)
  712. #define    CSA_E_PASSWORD_REQUIRED            ((CSA_return_code)29)
  713. #define    CSA_E_READONLY                ((CSA_return_code)30)
  714. #define    CSA_E_SERVICE_UNAVAILABLE        ((CSA_return_code)31)
  715. #define    CSA_E_TEXT_TOO_LARGE            ((CSA_return_code)32)
  716. #define    CSA_E_TOO_MANY_USERS            ((CSA_return_code)33)
  717. #define    CSA_E_UNABLE_TO_OPEN_FILE        ((CSA_return_code)34)
  718. #define    CSA_E_UNSUPPORTED_ATTRIBUTE        ((CSA_return_code)35)
  719. #define    CSA_E_UNSUPPORTED_CHARACTER_SET        ((CSA_return_code)36)
  720. #define    CSA_E_UNSUPPORTED_DATA_EXT        ((CSA_return_code)37)
  721. #define    CSA_E_UNSUPPORTED_ENUM            ((CSA_return_code)38)
  722. #define    CSA_E_UNSUPPORTED_FLAG            ((CSA_return_code)39)
  723. #define    CSA_E_UNSUPPORTED_FUNCTION_EXT        ((CSA_return_code)40)
  724. #define    CSA_E_UNSUPPORTED_PARAMETER        ((CSA_return_code)41)
  725. #define    CSA_E_UNSUPPORTED_VERSION        ((CSA_return_code)42)
  726. #define    CSA_E_USER_NOT_FOUND            ((CSA_return_code)43)
  727. #define    CSA_E_TIME_ONLY                ((CSA_return_code)44)
  728.  
  729. #define CSA_X_DT_E_BACKING_STORE_PROBLEM     ((CSA_return_code)0x900001F)
  730. #define CSA_X_DT_E_ENTRY_NOT_FOUND         ((CSA_return_code)0x9010010)
  731. #define CSA_X_DT_E_INVALID_SERVER_LOCATION     ((CSA_return_code)0x902000C)
  732. #define CSA_X_DT_E_SERVER_TIMEOUT         ((CSA_return_code)0x903001F)
  733. #define CSA_X_DT_E_SERVICE_NOT_REGISTERED     ((CSA_return_code)0x904001F)
  734.  
  735. /* CALENDAR ATTRIBUTES */
  736.  
  737. extern char *_CSA_calendar_attribute_names[];
  738.  
  739. /* CALENDAR ATTRIBUTE NAMES */
  740.  
  741. #define CSA_CAL_ATTR_ACCESS_LIST_I    1
  742. #define CSA_CAL_ATTR_ACCESS_LIST \
  743.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_ACCESS_LIST_I]
  744.   /* "-//XAPIA/CSA/CALATTR//NONSGML Access List//EN" */
  745.  
  746. #define CSA_CAL_ATTR_CALENDAR_NAME_I    2
  747. #define CSA_CAL_ATTR_CALENDAR_NAME \
  748.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_CALENDAR_NAME_I]
  749.   /* "-//XAPIA/CSA/CALATTR//NONSGML Calendar Name//EN" */
  750.  
  751. #define CSA_CAL_ATTR_CALENDAR_OWNER_I    3
  752. #define CSA_CAL_ATTR_CALENDAR_OWNER \
  753.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_CALENDAR_OWNER_I]
  754.   /* "-//XAPIA/CSA/CALATTR//NONSGML Calendar Owner//EN" */
  755.  
  756. #define CSA_CAL_ATTR_CALENDAR_SIZE_I    4
  757. #define CSA_CAL_ATTR_CALENDAR_SIZE \
  758.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_CALENDAR_SIZE_I]
  759.   /* "-//XAPIA/CSA/CALATTR//NONSGML Calendar Size//EN" */
  760.  
  761. #define CSA_CAL_ATTR_CHARACTER_SET_I    5
  762. #define CSA_CAL_ATTR_CHARACTER_SET \
  763.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_CHARACTER_SET_I]
  764.   /* "-//XAPIA/CSA/CALATTR//NONSGML Character Set//EN" */
  765.  
  766. #define CSA_CAL_ATTR_COUNTRY_I        6
  767. #define CSA_CAL_ATTR_COUNTRY \
  768.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_COUNTRY_I]
  769.   /* "-//XAPIA/CSA/CALATTR//NONSGML Country//EN" */
  770.  
  771. #define CSA_CAL_ATTR_DATE_CREATED_I    7
  772. #define CSA_CAL_ATTR_DATE_CREATED \
  773.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_DATE_CREATED_I]
  774.   /* "-//XAPIA/CSA/CALATTR//NONSGML Date Created//EN" */
  775.  
  776. #define CSA_CAL_ATTR_LANGUAGE_I        8
  777. #define CSA_CAL_ATTR_LANGUAGE \
  778.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_LANGUAGE_I]
  779.   /* "-//XAPIA/CSA/CALATTR//NONSGML Language//EN" */
  780.  
  781. #define CSA_CAL_ATTR_NUMBER_ENTRIES_I    9
  782. #define CSA_CAL_ATTR_NUMBER_ENTRIES \
  783.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_NUMBER_ENTRIES_I]
  784.   /* "-//XAPIA/CSA/CALATTR//NONSGML Number Entries//EN" */
  785.  
  786. #define CSA_CAL_ATTR_PRODUCT_IDENTIFIER_I    10
  787. #define CSA_CAL_ATTR_PRODUCT_IDENTIFIER \
  788.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_PRODUCT_IDENTIFIER_I]
  789.   /* "-//XAPIA/CSA/CALATTR//NONSGML Product Identifier//EN" */
  790.  
  791. #define CSA_CAL_ATTR_TIME_ZONE_I    11
  792. #define CSA_CAL_ATTR_TIME_ZONE \
  793.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_TIME_ZONE_I]
  794.   /* "-//XAPIA/CSA/CALATTR//NONSGML Time Zone//EN" */
  795.  
  796. #define CSA_CAL_ATTR_VERSION_I        12
  797. #define CSA_CAL_ATTR_VERSION \
  798.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_VERSION_I]
  799.   /* "-//XAPIA/CSA/CALATTR//NONSGML Version//EN" */
  800.  
  801. #define CSA_CAL_ATTR_WORK_SCHEDULE_I    13
  802. #define CSA_CAL_ATTR_WORK_SCHEDULE \
  803.      _CSA_calendar_attribute_names[CSA_CAL_ATTR_WORK_SCHEDULE_I]
  804.   /* "-//XAPIA/CSA/CALATTR//NONSGML Work Schedule//EN" */
  805.  
  806. #define CSA_X_DT_CAL_ATTR_SERVER_VERSION_I    14
  807. #define CSA_X_DT_CAL_ATTR_SERVER_VERSION \
  808.      _CSA_calendar_attribute_names[CSA_X_DT_CAL_ATTR_SERVER_VERSION_I]
  809.   /* "-//CDE_XAPIA_PRIVATE/CSA/CALATTR//NONSGML Server Version//EN" */
  810.  
  811. #define CSA_X_DT_CAL_ATTR_DATA_VERSION_I    15
  812. #define CSA_X_DT_CAL_ATTR_DATA_VERSION \
  813.      _CSA_calendar_attribute_names[CSA_X_DT_CAL_ATTR_DATA_VERSION_I]
  814.   /* "-//CDE_XAPIA_PRIVATE/CSA/CALATTR//NONSGML Data Version//EN" */
  815.  
  816. #define CSA_X_DT_CAL_ATTR_CAL_DELIMITER_I    16
  817. #define CSA_X_DT_CAL_ATTR_CAL_DELIMITER \
  818.      _CSA_calendar_attribute_names[CSA_X_DT_CAL_ATTR_CAL_DELIMITER_I]
  819.   /* "-//CDE_XAPIA_PRIVATE/CSA/CALATTR//NONSGML Calendar Delimiter//EN" */
  820.  
  821.  
  822. /* ENTRY ATTRIBUTES */
  823.  
  824. extern char *_CSA_entry_attribute_names[];
  825.  
  826. /* ENTRY ATTRIBUTES NAMES */
  827.  
  828. #define CSA_ENTRY_ATTR_ATTENDEE_LIST_I        1
  829. #define CSA_ENTRY_ATTR_ATTENDEE_LIST \
  830.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_ATTENDEE_LIST_I]
  831.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Attendee List//EN" */
  832.  
  833. #define CSA_ENTRY_ATTR_AUDIO_REMINDER_I     2
  834. #define CSA_ENTRY_ATTR_AUDIO_REMINDER \
  835.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_AUDIO_REMINDER_I]
  836.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Audio Reminder//EN" */
  837.  
  838. #define CSA_ENTRY_ATTR_CLASSIFICATION_I        3
  839. #define CSA_ENTRY_ATTR_CLASSIFICATION \
  840.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_CLASSIFICATION_I]
  841.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Classification//EN" */
  842.  
  843. #define CSA_ENTRY_ATTR_DATE_COMPLETED_I        4
  844. #define CSA_ENTRY_ATTR_DATE_COMPLETED \
  845.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_DATE_COMPLETED_I]
  846.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Date Completed//EN" */
  847.  
  848. #define CSA_ENTRY_ATTR_DATE_CREATED_I        5
  849. #define CSA_ENTRY_ATTR_DATE_CREATED \
  850.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_DATE_CREATED_I]
  851.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Date Created//EN" */
  852.  
  853. #define CSA_ENTRY_ATTR_DESCRIPTION_I        6
  854. #define CSA_ENTRY_ATTR_DESCRIPTION \
  855.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_DESCRIPTION_I]
  856.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Description//EN" */
  857.  
  858. #define CSA_ENTRY_ATTR_DUE_DATE_I        7
  859. #define CSA_ENTRY_ATTR_DUE_DATE \
  860.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_DUE_DATE_I]
  861.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Due Date//EN" */
  862.  
  863. #define CSA_ENTRY_ATTR_END_DATE_I        8
  864. #define CSA_ENTRY_ATTR_END_DATE \
  865.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_END_DATE_I]
  866.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML End Date//EN" */
  867.  
  868. #define CSA_ENTRY_ATTR_EXCEPTION_DATES_I    9
  869. #define CSA_ENTRY_ATTR_EXCEPTION_DATES \
  870.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_EXCEPTION_DATES_I]
  871.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Exception Dates//EN" */
  872.  
  873. #define CSA_ENTRY_ATTR_EXCEPTION_RULE_I        10
  874. #define CSA_ENTRY_ATTR_EXCEPTION_RULE \
  875.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_EXCEPTION_RULE_I]
  876.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Exception Rule//EN" */
  877.  
  878. #define CSA_ENTRY_ATTR_FLASHING_REMINDER_I    11
  879. #define CSA_ENTRY_ATTR_FLASHING_REMINDER \
  880.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_FLASHING_REMINDER_I]
  881.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Flashing Reminder//EN" */
  882.  
  883. #define CSA_ENTRY_ATTR_LAST_UPDATE_I        12
  884. #define CSA_ENTRY_ATTR_LAST_UPDATE \
  885.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_LAST_UPDATE_I]
  886.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Last Update//EN" */
  887.  
  888. #define CSA_ENTRY_ATTR_MAIL_REMINDER_I        13
  889. #define CSA_ENTRY_ATTR_MAIL_REMINDER \
  890.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_MAIL_REMINDER_I]
  891.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Mail Reminder//EN" */
  892.  
  893. #define CSA_ENTRY_ATTR_NUMBER_RECURRENCES_I    14
  894. #define CSA_ENTRY_ATTR_NUMBER_RECURRENCES \
  895.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_NUMBER_RECURRENCES_I]
  896.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Number Recurrences//EN" */
  897.  
  898. #define CSA_ENTRY_ATTR_ORGANIZER_I        15
  899. #define CSA_ENTRY_ATTR_ORGANIZER \
  900.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_ORGANIZER_I]
  901.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Organizer//EN" */
  902.  
  903. #define CSA_ENTRY_ATTR_POPUP_REMINDER_I        16
  904. #define CSA_ENTRY_ATTR_POPUP_REMINDER \
  905.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_POPUP_REMINDER_I]
  906.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Popup Reminder//EN" */
  907.  
  908. #define CSA_ENTRY_ATTR_PRIORITY_I        17
  909. #define CSA_ENTRY_ATTR_PRIORITY \
  910.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_PRIORITY_I]
  911.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Priority//EN" */
  912.  
  913. #define CSA_ENTRY_ATTR_RECURRENCE_RULE_I    18
  914. #define CSA_ENTRY_ATTR_RECURRENCE_RULE \
  915.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_RECURRENCE_RULE_I]
  916.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Recurrence Rule//EN" */
  917.  
  918. #define CSA_ENTRY_ATTR_RECURRING_DATES_I    19
  919. #define CSA_ENTRY_ATTR_RECURRING_DATES \
  920.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_RECURRING_DATES_I]
  921.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Recurring Dates//EN" */
  922.  
  923. #define CSA_ENTRY_ATTR_REFERENCE_IDENTIFIER_I    20
  924. #define CSA_ENTRY_ATTR_REFERENCE_IDENTIFIER \
  925.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_REFERENCE_IDENTIFIER_I]
  926.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Reference Identifier//EN" */
  927.  
  928. #define CSA_ENTRY_ATTR_SEQUENCE_NUMBER_I    21
  929. #define CSA_ENTRY_ATTR_SEQUENCE_NUMBER \
  930.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_SEQUENCE_NUMBER_I]
  931.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Sequence Number//EN" */
  932.  
  933. #define CSA_ENTRY_ATTR_SPONSOR_I        22
  934. #define CSA_ENTRY_ATTR_SPONSOR \
  935.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_SPONSOR_I]
  936.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Sponsor//EN" */
  937.  
  938. #define CSA_ENTRY_ATTR_START_DATE_I        23
  939. #define CSA_ENTRY_ATTR_START_DATE \
  940.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_START_DATE_I]
  941.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Start Date//EN" */
  942.  
  943. #define CSA_ENTRY_ATTR_STATUS_I            24
  944. #define CSA_ENTRY_ATTR_STATUS \
  945.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_STATUS_I]
  946.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Status//EN" */
  947.  
  948. #define CSA_ENTRY_ATTR_SUBTYPE_I        25
  949. #define CSA_ENTRY_ATTR_SUBTYPE \
  950.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_SUBTYPE_I]
  951.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Subtype//EN" */
  952.  
  953. #define CSA_ENTRY_ATTR_SUMMARY_I        26
  954. #define CSA_ENTRY_ATTR_SUMMARY \
  955.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_SUMMARY_I]
  956.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Summary//EN" */
  957.  
  958. #define CSA_ENTRY_ATTR_TIME_TRANSPARENCY_I    27
  959. #define CSA_ENTRY_ATTR_TIME_TRANSPARENCY \
  960.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_TIME_TRANSPARENCY_I]
  961.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Time Transparency//EN" */
  962.  
  963. #define CSA_ENTRY_ATTR_TYPE_I            28
  964. #define CSA_ENTRY_ATTR_TYPE \
  965.      _CSA_entry_attribute_names[CSA_ENTRY_ATTR_TYPE_I]
  966.   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Type//EN" */
  967.  
  968. /* cde defined entry attributes */
  969. #define CSA_X_DT_ENTRY_ATTR_SHOWTIME_I            29
  970. #define CSA_X_DT_ENTRY_ATTR_SHOWTIME \
  971.      _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_SHOWTIME_I]
  972.   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Show Time//EN" */
  973.  
  974. #define CSA_X_DT_ENTRY_ATTR_REPEAT_TYPE_I        30
  975. #define    CSA_X_DT_ENTRY_ATTR_REPEAT_TYPE \
  976.      _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_REPEAT_TYPE_I]
  977.   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Type//EN" */
  978.  
  979. #define CSA_X_DT_ENTRY_ATTR_REPEAT_TIMES_I        31
  980. #define    CSA_X_DT_ENTRY_ATTR_REPEAT_TIMES \
  981.      _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_REPEAT_TIMES_I]
  982.   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Times//EN" */
  983.  
  984. #define CSA_X_DT_ENTRY_ATTR_REPEAT_INTERVAL_I        32
  985. #define CSA_X_DT_ENTRY_ATTR_REPEAT_INTERVAL \
  986.      _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_REPEAT_INTERVAL_I]
  987.   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Interval//EN" */
  988.  
  989. #define CSA_X_DT_ENTRY_ATTR_REPEAT_OCCURRENCE_NUM_I    33
  990. #define CSA_X_DT_ENTRY_ATTR_REPEAT_OCCURRENCE_NUM \
  991.      _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_REPEAT_OCCURRENCE_NUM_I]
  992.   /*"-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Occurrence Number//EN"*/
  993.  
  994. #define CSA_X_DT_ENTRY_ATTR_SEQUENCE_END_DATE_I        34
  995. #define    CSA_X_DT_ENTRY_ATTR_SEQUENCE_END_DATE \
  996.      _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_SEQUENCE_END_DATE_I]
  997.   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Sequence End Date//EN" */
  998.  
  999. #define CSA_X_DT_ENTRY_ATTR_ENTRY_DELIMITER_I        35
  1000. #define CSA_X_DT_ENTRY_ATTR_ENTRY_DELIMITER \
  1001.      _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_ENTRY_DELIMITER_I]
  1002.   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Entry Delimiter//EN" */
  1003.  
  1004. /*
  1005.  * values for entry attribute CSA_ENTRY_ATTR_TYPE
  1006.  */
  1007.  
  1008. #define    CSA_TYPE_EVENT        ((CSA_enum)0)
  1009. #define    CSA_TYPE_TODO        ((CSA_enum)1)
  1010. #define    CSA_TYPE_MEMO        ((CSA_enum)2)
  1011. #define CSA_X_DT_TYPE_OTHER    ((CSA_enum)900)
  1012.  
  1013. /*
  1014.  * values for entry attribute CSA_ENTRY_ATTR_SUBTYPE
  1015.  */
  1016.  
  1017. extern char *_CSA_entry_subtype_values[];
  1018.  
  1019. #define    CSA_SUBTYPE_APPOINTMENT_I    0
  1020. #define    CSA_SUBTYPE_APPOINTMENT    \
  1021.      _CSA_entry_subtype_values[CSA_SUBTYPE_APPOINTMENT_I]
  1022.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Appointment//EN" */
  1023.  
  1024. #define    CSA_SUBTYPE_CLASS_I        1
  1025. #define    CSA_SUBTYPE_CLASS \
  1026.      _CSA_entry_subtype_values[CSA_SUBTYPE_CLASS_I]
  1027.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Class//EN" */
  1028.  
  1029. #define    CSA_SUBTYPE_HOLIDAY_I        2
  1030. #define    CSA_SUBTYPE_HOLIDAY \
  1031.      _CSA_entry_subtype_values[CSA_SUBTYPE_HOLIDAY_I]
  1032.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Holiday//EN" */
  1033.  
  1034. #define CSA_SUBTYPE_MEETING_I        3
  1035. #define CSA_SUBTYPE_MEETING \
  1036.      _CSA_entry_subtype_values[CSA_SUBTYPE_MEETING_I]
  1037.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Meeting//EN" */
  1038.  
  1039. #define    CSA_SUBTYPE_MISCELLANEOUS_I    4
  1040. #define    CSA_SUBTYPE_MISCELLANEOUS \
  1041.      _CSA_entry_subtype_values[CSA_SUBTYPE_MISCELLANEOUS_I]
  1042.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Miscellaneous//EN" */
  1043.  
  1044. #define    CSA_SUBTYPE_PHONE_CALL_I    5
  1045. #define    CSA_SUBTYPE_PHONE_CALL \
  1046.      _CSA_entry_subtype_values[CSA_SUBTYPE_PHONE_CALL_I]
  1047.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Phone Call//EN" */
  1048.  
  1049. #define    CSA_SUBTYPE_SICK_DAY_I        6
  1050. #define    CSA_SUBTYPE_SICK_DAY \
  1051.      _CSA_entry_subtype_values[CSA_SUBTYPE_SICK_DAY_I]
  1052.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Sick Day//EN" */
  1053.  
  1054. #define    CSA_SUBTYPE_SPECIAL_OCCASION_I    7
  1055. #define    CSA_SUBTYPE_SPECIAL_OCCASION \
  1056.      _CSA_entry_subtype_values[CSA_SUBTYPE_SPECIAL_OCCASION_I]
  1057.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Special Occasion//EN" */
  1058.  
  1059. #define    CSA_SUBTYPE_TRAVEL_I        8
  1060. #define    CSA_SUBTYPE_TRAVEL \
  1061.      _CSA_entry_subtype_values[CSA_SUBTYPE_TRAVEL_I]
  1062.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Travel//EN" */
  1063.  
  1064. #define    CSA_SUBTYPE_VACATION_I        9
  1065. #define    CSA_SUBTYPE_VACATION \
  1066.      _CSA_entry_subtype_values[CSA_SUBTYPE_VACATION_I]
  1067.   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Vacation//EN" */
  1068.  
  1069. /*
  1070.  * special value for CSA_X_DT_ENTRY_ATTR_REPEAT_TIMES
  1071.  */
  1072.  
  1073. #define    CSA_X_DT_DT_REPEAT_FOREVER    0
  1074.  
  1075. /*
  1076.  * Values for entry attribute CSA_X_DT_ENTRY_ATTR_REPEAT_TYPE
  1077.  */
  1078.  
  1079. #define    CSA_X_DT_REPEAT_ONETIME            ((CSA_enum)0)
  1080. #define    CSA_X_DT_REPEAT_DAILY            ((CSA_enum)1)
  1081. #define    CSA_X_DT_REPEAT_WEEKLY            ((CSA_enum)2)
  1082. #define    CSA_X_DT_REPEAT_BIWEEKLY        ((CSA_enum)3)
  1083. #define    CSA_X_DT_REPEAT_MONTHLY_BY_WEEKDAY    ((CSA_enum)4)
  1084. #define    CSA_X_DT_REPEAT_MONTHLY_BY_DATE        ((CSA_enum)5)
  1085. #define    CSA_X_DT_REPEAT_YEARLY            ((CSA_enum)6)
  1086. #define    CSA_X_DT_REPEAT_EVERY_NDAY        ((CSA_enum)7)
  1087. #define    CSA_X_DT_REPEAT_EVERY_NWEEK        ((CSA_enum)8)
  1088. #define    CSA_X_DT_REPEAT_EVERY_NMONTH        ((CSA_enum)9)
  1089. #define    CSA_X_DT_REPEAT_MON_TO_FRI        ((CSA_enum)10)
  1090. #define    CSA_X_DT_REPEAT_MONWEDFRI        ((CSA_enum)11)
  1091. #define    CSA_X_DT_REPEAT_TUETHUR            ((CSA_enum)12)
  1092. #define    CSA_X_DT_REPEAT_WEEKDAYCOMBO        ((CSA_enum)13)
  1093. #define    CSA_X_DT_REPEAT_OTHER            ((CSA_enum)14)
  1094. #define    CSA_X_DT_REPEAT_OTHER_WEEKLY        ((CSA_enum)15)
  1095. #define    CSA_X_DT_REPEAT_OTHER_MONTHLY        ((CSA_enum)16)
  1096. #define    CSA_X_DT_REPEAT_OTHER_YEARLY        ((CSA_enum)17)
  1097.  
  1098. /* COMMON EXTENSIONS DECLARATIONS */
  1099.  
  1100. /* EXTENSTION SET ID */
  1101.  
  1102. /* Common Extension Set */
  1103. #define    CSA_XS_COM            ((CSA_uint32)0)
  1104.  
  1105. /* Bilateral Extension Set */
  1106. #define    CSA_XS_BLT            ((CSA_uint32)256)
  1107.  
  1108. /* FUNCTION EXTENSIONS */
  1109.  
  1110. /* Query for extension support in implementation */
  1111.  
  1112. #define    CSA_X_COM_SUPPORT_EXT        ((CSA_uint32)1)
  1113.  
  1114. typedef struct CSA_TAG_XCOM {
  1115.     CSA_uint32    item_code;
  1116.     CSA_flags    flags;
  1117. } CSA_X_COM_support;
  1118.  
  1119. #define    CSA_X_COM_SUPPORTED        ((CSA_flags)0x1)
  1120. #define    CSA_X_COM_NOT_SUPPORTED        ((CSA_flags)0x2)
  1121. #define    CSA_X_COM_DATA_EXT_SUPPORTED    ((CSA_flags)0x4)
  1122. #define    CSA_X_COM_FUNC_EXT_SUPPORTED    ((CSA_flags)0x8)
  1123. #define    CSA_X_COM_SUP_EXCLUDE        ((CSA_flags)0x10)
  1124.  
  1125. /* UI_ID EXTENSION */
  1126.  
  1127. #define CSA_X_UI_ID_EXT            ((CSA_uint32)2)
  1128.  
  1129. /* Extension Flags */
  1130. #define CSA_X_LOGON_UI_ALLOWED        ((CSA_flags)0x1)
  1131. #define CSA_X_ERROR_UI_ALLOWED        ((CSA_flags)0x2)
  1132. #define CSA_X_LOOKUP_RESOLVE_UI        ((CSA_flags)0x4)
  1133. #define CSA_X_LOOKUP_DETAILS_UI        ((CSA_flags)0x8)
  1134. #define CSA_X_LOOKUP_ADDRESSING_UI    ((CSA_flags)0x10)
  1135. #define CSA_X_ADD_DEFINE_ENTRY_UI    ((CSA_flags)0x20)
  1136.  
  1137. /* Extension Return Codes */
  1138. #define    CSA_X_E_INVALID_UI_ID        ((CSA_return_code)1025)
  1139. #define    CSA_X_E_LOGON_FAILURE        ((CSA_return_code)1026)
  1140. #define    CSA_X_E_USER_CANCEL        ((CSA_return_code)1027)
  1141.  
  1142. /* XT APPLICATION CONTEXT EXTENSION */
  1143.  
  1144. #define CSA_X_XT_APP_CONTEXT_EXT    ((CSA_uint32)3)
  1145.  
  1146. /* Get User access extension */
  1147. #define    CSA_XS_DT            ((CSA_uint32)900)
  1148. #define    CSA_X_DT_GET_USER_ACCESS_EXT    ((CSA_uint32)901)
  1149.  
  1150. #endif
  1151.  
  1152.